In a conventional data center (e.g., a cloud data center), there are typically different types of workloads run on servers or like computing devices. Examples include online transaction processing work and Batch work. Online transaction processing (sometimes referred to herein as “OLTP”) work requires prompt response time to the end user. In contrast, batch work focuses on background processing of a large amount data (e.g., periodic processing).
These different workloads are typically scheduled at different time windows (e.g., a different time window for each type of workload and/or a different time window for two or more of the same type of workload). In this regard see, for example, the scheduling of FIG. 1—where three workloads (Workload 1, Workload 2 and Workload 3) are scheduled at non-overlapping times in computational resource envelope 1 between To and T1. This is because the data dependency between the workloads is typically not clear. For example, applications are typically developed by different organizations or groups of people than the people responsible for system operations. Thus, the workloads are typically scheduled at different time windows such that concurrency issues and/or related performance issues can be “safely avoided” (e.g., without having an appropriate understanding of low level data access dependency and contention). Further, Batch work may be broken into one or more steps (and this typically cannot be accomplished without human involvement). Traditional business process patterns have also made this separating (such as scheduling at different time windows) possible and relatively easy to manage.
However, significant data and application growth in recent years, as well as business process changes, have put significant challenges on the traditional coarse level scheduling approach such as separating OLTP and Batch time windows. There have been more and more cases when certain work can not be contained in scheduled time windows. For example, a larger amount of Batch data may require one or more Batch time windows to be widened. In another example, business growth from regional to nationwide or from nationwide to international of a banking institution widens the OLTP time window for business reasons and consequently shrinks the batch time window.
In this regard, technology development has enabled more and different concurrency control mechanisms, if there is enough understanding of application data access patterns.
From a data center operation perspective, in order to adapt to new business process patterns and optimize operations, learning and better understanding of data access dependency is necessary. This is also very challenging to do when operation, application development and business processing development are in different organizations of a company, or even different companies (e.g., due to business outsourcing). Another aspect of learning is to understand the workload patterns during different times. For example, although Internet banking is enabled 24 hours a day, it does not means the OLTP workload distributes evenly in the 24 hour window. Geographical population distribution and end users' biological patterns and life styles may directly influence a data centers' workload patterns.